import React from 'react';
import { cn } from '../../utils/cn';

interface CardProps {
  children: React.ReactNode;
  className?: string;
  hover?: boolean;
  gradient?: boolean;
  glass?: boolean;
}

const Card: React.FC<CardProps> = ({
  children,
  className,
  hover = true,
  gradient = false,
  glass = true,
  ...props
}) => {
  const baseClasses = 'rounded-2xl shadow-xl transition-all duration-300';
  const hoverClasses = hover ? 'hover:shadow-2xl transform hover:scale-[1.02]' : '';
  const glassClasses = glass ? 'glass-card' : 'bg-white dark:bg-gray-800';
  const gradientClasses = gradient ? 'gradient-border' : '';

  return (
    <div
      className={cn(
        baseClasses,
        hoverClasses,
        glassClasses,
        gradientClasses,
        className
      )}
      {...props}
    >
      {children}
    </div>
  );
};

export default Card;
